﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business.Logic;
using Business.Entities;

public partial class AlumnosForm : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    #region Propiedad
    private Persona _AlumnoActual;
    public Persona AlumnoActual
    {
        get { return _AlumnoActual; }
        set { _AlumnoActual = value; }
    }
    #endregion

    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        if (this.Validar())
        {
            this.GuardarCambios();
            this.Dispose();
        }
    }
    protected void btnCerrar_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/PrincipalForm.aspx");
    }

    public bool Validar()
    {
        string mensaje = "";

        if (String.IsNullOrEmpty(txtNombre.Text.Trim()))
            mensaje += "- El Nombre no puede estar en blanco." + "\n";
        else if (!Util.Validaciones.validarString(txtNombre.Text.Trim()))
            mensaje += "- Formato de Nombre no válido ." + "\n";

        if (txtApellido.Text.Trim() == "")
            mensaje += "- El Apellido no puede estar en blanco." + "\n";
        else if (!Util.Validaciones.validarString(txtApellido.Text.Trim()))
            mensaje += "- Formato de Apellido no válido." + "\n";

        //if (ddlEspecialidad.SelectedItem == null)
        //    mensaje += "- Debe seleccionar una Especialidad." + "\n";

        /*if (ddlPlan.SelectedItem == null)
            mensaje += "- Debe seleccionar un Plan." + "\n";
        */
        if (txtDireccion.Text.Trim() == "")
            mensaje += "- La Dirección no puede estar en blanco." + "\n";

        if (txtTelefono.Text.Trim() == "")
            mensaje += "- El Teléfono no puede estar en blanco." + "\n";
        else if (!Util.Validaciones.validarNumero(txtTelefono.Text.Trim()))
            mensaje += "- Formato de Télefono no válido." + "\n";


        if (txtEmail.Text.Trim() != "" && !Util.Validaciones.validarEmail(txtEmail.Text.Trim()))
            mensaje += "- Formato de E-mail no válido." + "\n";

        if (txtLegajo.Text.Trim() == "")
            mensaje += "- El legajo no puede estar en blanco." + "\n";
        else if (!Util.Validaciones.validarLegajo(txtLegajo.Text.Trim()))
            mensaje += "- Formato de legajo no válido." + "\n";
        else
        {
            PersonaLogic lPersona = new PersonaLogic();
            if (this.AlumnoActual == null)
            {
                if (lPersona.ExisteLegajo(Convert.ToInt32(txtLegajo.Text)))
                    mensaje += "- Legajo ya existe." + "\n";
            }
            else
            {
                if (txtLegajo.Text != this.AlumnoActual.Legajo.ToString() && lPersona.ExisteLegajo(Convert.ToInt32(txtLegajo.Text)))
                    mensaje += "- Legajo ya existe." + "\n";
            }
        }
        /*
        if (!String.IsNullOrEmpty(mensaje))
        {
            MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            return false;
        }*/


        return true;
    }
    /*
    protected void ddlEspecialidad_SelectedIndexChanged(object sender, EventArgs e)
    {
        PlanLogic oPlan = new PlanLogic();
        Planes listaPlanes = oPlan.GetAllPorEspecialidad(Convert.ToInt32(this.ddlEspecialidad.SelectedValue));
        this.ddlPlan.DataSource = listaPlanes;
        //this.ddlPlan.SelectedValue = 0;
    }
    */
    public void GuardarCambios()
    {
        MapearADatos();
        PersonaLogic alu = new PersonaLogic();
        alu.Save(AlumnoActual);
    }

    public void MapearADatos()
    {
        
            AlumnoActual.Nombre = this.txtNombre.Text;
            AlumnoActual.Apellido = this.txtApellido.Text;
            AlumnoActual.Direccion = this.txtDireccion.Text;
            AlumnoActual.Email = this.txtEmail.Text;
           // AlumnoActual.FechaNacimiento = this.dateNacimiento.Value;
            AlumnoActual.Legajo = Convert.ToInt32(this.txtLegajo.Text);
            AlumnoActual.Telefono = this.txtTelefono.Text;
            //AlumnoActual.IDPlan = Convert.ToInt32(this.ddlPlan.SelectedValue);
            AlumnoActual.TipoPersona = Persona.TiposPersonas.Alumno;
            AlumnoActual.State = BusinessEntity.States.New;    
    }
    /*
    protected void ddlEspecialidad_TextChanged(object sender, EventArgs e)
    {
        PlanLogic oPlan = new PlanLogic();
        Planes listaPlanes = oPlan.GetAllPorEspecialidad(Convert.ToInt32(this.ddlEspecialidad.SelectedValue));
        this.ddlPlan.DataSource = listaPlanes;
       // this.ddlPlan.SelectedValue = 0;
    }*/
}